function [alpha, beta, gamma] = util_get_fixed_angle_from_T(T)
    % util_get_fixed_angle_from_T: 从齐次变换矩阵 T 中提取 ZYZ 欧拉角（固定角）。
    % 输入参数：
    %   T: 齐次变换矩阵（4x4），包含旋转和平移信息。
    % 输出参数：
    %   alpha: 绕 Z 轴的第一个旋转角度（单位：度）。
    %   beta: 绕 Y 轴的第二个旋转角度（单位：度）。
    %   gamma: 绕 Z 轴的第三个旋转角度（单位：度）。

    % 判断特殊情况：T(1,1) == 0 且 T(2,1) == 0，表示绕 Y 轴的旋转达到 ±90 度（奇异点）
    if T(1,1) == 0 && T(2,1) == 0 && T(3,1) < 0
        % 当 T(3,1) < 0 时，beta 为 90 度（正奇异点）
        beta = 90; % beta = π/2
        alpha = 0; % alpha 可以任意选择，这里设为 0
        gamma = atan2(T(1,2), T(2,2)) * 180 / pi; % 计算 gamma 的值
    elseif T(1,1) == 0 && T(2,1) == 0 && T(3,1) > 0
        % 当 T(3,1) > 0 时，beta 为 -90 度（负奇异点）
        beta = -90; % beta = -π/2
        alpha = 0; % alpha 可以任意选择，这里设为 0
        gamma = -atan2(T(1,2), T(2,2)) * 180 / pi; % 计算 gamma 的值
    else
        % 一般情况下的计算
        % beta 是绕 Y 轴的旋转角度，通过 T(3,1) 和 sqrt(T(1,1)^2 + T(2,1)^2) 计算
        beta = atan2(-T(3,1), sqrt(T(1,1)^2 + T(2,1)^2)) * 180 / pi;

        % alpha 是绕第一个 Z 轴的旋转角度，通过 T(2,1) 和 T(1,1) 计算
        alpha = atan2(T(2,1), T(1,1)) * 180 / pi;

        % gamma 是绕第二个 Z 轴的旋转角度，通过 T(3,2) 和 T(3,3) 计算
        gamma = atan2(T(3,2), T(3,3)) * 180 / pi;
    end
end